🔥 สวัสดีจ้า วันนี้แอดมินจะมาเพื่อน ๆ มารู้จักกับการทดสอบซอฟต์แวร์ในวิธีต่าง ๆ ซึ่งมันมีอะไรบ้างนั้น ไปดูเลยยย !!
.
👉 การทดสอบซอฟต์นั้นมีจุดประสงค์เพื่อค้นหาบั๊คหรือข้อผิดพลาดในโปรแกรม เพื่อให้โปรแกรมของเราทำงานได้ดีมีประสิทธิภาพ และตรงกับความต้องการของผู้ใช้มากที่สุดนั่นเองจ้า !!
.
แล้วมันมีกี่แบบกันนะ มาดูกันเลยจ้า
.
🔸 1) Unit Testing
อยู่ในช่วงแรกของการพัฒนาโปรแกรม เป็นการทดสอบการทำงานของโปรแกรมในแต่ละหน่วย ไม่ว่าจะเป็นการทดสอบการทำงานของฟังก์ชัน หรือการประมวลผลของโปรแกรม โดยส่วนใหญ่แล้วจะถูกทดสอบโดยโปรแกรมเมอร์ หรือนักพัฒนาโปรแกรม การทดสอบประเภทนี้จะช่วยให้ลดความผิดพลาดของโปรแกรม และสร้างความมั่นใจได้ว่าโปรแกรมสามารถทำงานได้อย่างถูกต้อง
.
🔸 2) Integration Testing
เป็นการทดสอบว่าโปรแกรมในแต่ละส่วนของเราสามารถทำงานร่วมกันได้อย่างถูกต้อง เช่น การรับ-ส่งข้อมูลจาก Database มายังหน้าเว็บ และการทำงานร่วมกันของ Front-end และ Back-end นั่นเอง โดยการทดสอบส่วนนี้ QA หรือ Tester จะเป็นคนทำ
.
🔸 3) System Testing
การทดสอบส่วนนี้จะทำก็ต่อเมื่อผ่านขั้นตอน Integration Testing มาแล้ว เพื่อดูว่าการทำงานของโปรแกรมถูกต้องสมบูรณ์หรือไม่ มีประสิทธิภาพยังไง รวมไปถึงการทดสอบความปลอดภัยของโปรแกรมด้วย
.
🔸 4) Regression Testing
เป็นการทดสอบโปรแกรมที่มีการเปลี่ยนแปลง หรือมีการแก้ไข กับส่วนอื่น ๆ ที่ไม่ได้แก้ไข เพื่อให้แน่ใจว่าโปรแกรมสามารถทำงานได้ตามเดิม โดยส่วนใหญ่แล้วจะเป็นการทดสอบของนักพัฒนาก่อนปล่อยหรืออัปเดตฟีเจอร์ใหม่ ๆ ของโปรแกรมนั่นเอง
.
🔸 5) Smoke Testing
เป็นการทดสอบประสิทธิภาพของโปรแกรม เพื่อดูว่าโปรแกรมสามารถทำงานได้อย่างปกติ และพร้อมสำหรับการทดสอบในขั้นถัดไป ซึ่งการทดสอบนี้ทำเพื่อให้มั่นใจว่าโปรแกรมในระยะเริ่มต้นสามารถทำงานได้อย่างถูกต้องนั่นเอง โดยการทดสอบส่วนนี้ QA หรือ Tester จะเป็นคนทำ
.
🔸 6) Alpha Testing
เป็นการทดสอบในส่วน User Acceptance Testing (UAT) ซึ่งจะเป็นการหาปัญหาหรือข้อผิดพลาดของโปรแกรมที่เป็นไปได้ทั้งหมดก่อนจะส่งมอบให้ผู้ใช้ ด้วยการจำลองสภาพแวดล้อมที่เป็นไปได้ขึ้นมา ข้อดีคือเราจะเจอข้อผิดพลาดหรือบั๊คในโปรแกรม และทำการแก้ไขก่อนถึงมือผู้ใช้นั่นเองจ้า ซึ่งการทดสอบส่วนนี้ QA หรือ Tester จะเป็นคนทำ
.
🔸 7) Beta Testing
เป็นการทดสอบโปรแกรมจากผู้ใช้งานจริง ๆ ซึ่งมันอยู่ในส่วนของ User Acceptance Testing (UAT) เพื่อให้ผู้ใช้สามารถลองใช้งานโปรแกรมเวอร์ชัน Beta ของเราจริง ๆ เพื่อนำข้อปรับปรุงหรือข้อเสนอเพิ่มเติมจากผู้ใช้ เพื่อมาแก้ไขโปรแกรมให้สมบูรณ์ก่อนปล่อยเวอร์ชันจริงออกไปนั่นเอง
.
🔸8) Stress Testing
เป็นการทดสอบความเสถียรและความน่าเชื่อถือของซอฟต์แวร์ เพื่อวัดความทนทานและความสามารถในการจัดการความผิดพลาดภายในสภาวะที่ไม่ปกติ เช่น ในภาวะที่เว็บไซต์มี load เยอะ ๆ มันสามารถทำงานได้อย่างปกติหรือไม่ เว็บจะล่มหรือไม่ ถ้าเป็นเช่นนั้นแล้วควรมีข้อความเตือนให้กับผู้ใช้ทราบอย่างไร หรือระบบสามารถกู้คืนเว็บไซต์ในสภาวะนี้ได้หรือไม่นั่นเอง
.
🔸 9) Performance Testing
เป็นการทดสอบประสิทธิภาพของซอฟต์แวร์และระบบ ว่าสามารถรองรับการทำงานได้มากหรือน้อยอย่างไร เช่น ถ้าคนเข้าใช้ระบบเยอะ มันจะช้าหรือจะล่มหรือไม่ ซึ่งมันจะทำให้สามารถบอกได้ว่าระบบของเรารองรับผู้ใช้ได้เท่าไหร่ และเอาข้อมูลนี้ไปกำหนดสเปคของฮาร์ดแวร์ได้เลย ซึ่งการทดสอบนี้สำคัญมาก ๆ เพราะมันจะเตรียมความพร้อมให้กับซอฟต์แวร์ของเราก่อนการใช้งานจริงนั่นเอง
.
หรือใครมีวิธีการเทสนอกเหนือจากนี้อยากจะแชร์ สามารถคอมเมนต์มาพูดคุยกันที่ด้านล่างได้เลยน้า ❤️
.
💥 Source : https://www.geeksforgeeks.org/types-software-testing/, https://performancelabus.com/software-engineering-testing-types/
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน